//
//  UIImage+HRShotScreen.swift
//  weiBo
//
//  Created by helong on 16/7/17.
//  Copyright © 2016年 helong. All rights reserved.
//

import UIKit

extension UIImage {

    
    // MARK: - 截取当前屏幕图片的方法
    class func getScreenShot() -> UIImage{
        let window = UIApplication.sharedApplication().keyWindow!
        //  开启图片上下文
        UIGraphicsBeginImageContext(window.frame.size)
        // scale 0 表示屏幕的真是分辨率, 其他数字表示  数字*点的大小
        //        UIGraphicsBeginImageContextWithOptions(window.frame.size, false, 0)
        //  把屏幕上的图片渲染到图片上下文
        window.drawViewHierarchyInRect(window.bounds, afterScreenUpdates: false)
        //  从图片上下文中获取渲染图片
        let image = UIGraphicsGetImageFromCurrentImageContext()
        
        //  关闭图片上下文
        UIGraphicsEndImageContext()
        
        return image
    }
    
    
    // MARK: - 压缩图片的方法
    /**
    根据指定的宽度缩放图片
    - parameter scaledWidth: 缩放的宽度
    
    - returns: 缩放好的图片
    */
     func produceImageWithScale(scaledWidth: CGFloat) -> UIImage {
        
        let scaledHeight = self.size.height / self.size.width  * scaledWidth
        let size = CGSize(width: scaledWidth, height: scaledHeight)
        //  开启
        UIGraphicsBeginImageContext(size)
        
        self.drawInRect(CGRect(origin: CGPointZero, size: size))
        let targetImage = UIGraphicsGetImageFromCurrentImageContext()
        //  关闭
        UIGraphicsEndImageContext()
        
        return targetImage
        
    }
    
}
